Contact centers, such as Automatic Call Distribution or ACD systems, are employed by many enterprises to service customer contacts. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the contact from the moment that the contact center becomes aware of the contact until the contact is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest contact that matches the agent's highest-priority skill. Generally, the only condition that results in a contact not being delivered to an available agent is that there are no contacts waiting to be handled. The term “contact” or “call” as used herein is intended to include not only telephone calls but also non-telephonic communications, such as data transmissions such as electronic mail, voice-over-IP, facsimile, etc., whether circuit switched or packet switched.
The primary objective of contact center management, including call-distribution algorithms, is to ultimately maximize contact center performance and profitability. This objective has been implemented using a myriad of contact routing, or work item distribution, algorithms. However as available contact media changes, established contact routing algorithms become obsolete and need to be changed.
Dropped wireless calls represent such an impetus for change, particularly given the increased use of mobile and battery operated communication devices. Dropped calls in a contact-center environment are particularly aggravating to wireless callers because of the time (and therefore expense) it takes to reach an agent prior to obtaining service and the caller's need to start over again in reaching and/or providing information to an agent. Dropped calls adversely impact agent satisfaction and contact center performance and profitability because the time spent with the caller often does not result in being able to close a work item efficiently. When the caller next calls the contact center, he or she must again use scarce processing resources, such as an Interactive Voice Response or IVR unit and a position in one or more call queues. Requeuing a dropped contact increases wait time not only for the dropped caller but also for other callers.
When the call is dropped after it has been delivered to an agent and before the servicing of the contact is completed, the contact center has additional problems. The thread between the dropped caller and agent is lost along with information respecting the state of servicing the customer before the contact was dropped. Often, the recorded state excludes significant information omitted by the agent. When the caller calls back, there is no guarantee, and typically a low probability, that the caller will be connected with the same agent before the information is irretrievably lost (i.e., forgotten by the agent).
Data-driven last-agent routing is a well known and implemented technique in contact center product offerings. This feature permits an existing contact center customer to be routed to an agent with whom the customer has had prior contact. The redirection is data-driven in that a set of data structures is maintained linking the customer with the agent. However, this feature is customer configurable and may or may not be activated. When activated, it is automatic. Agents therefore have no ability to invoke selectively the feature on an “as needed” basis.